package edu.ycu.aladdin.collector.api;

import edu.ycu.aladdin.collector.api.entity.weibo.UserInfo;

import java.io.IOException;
import java.util.List;

/**
 * 微博相关参数服务.
 *
 * @author <a href="mailto:wangruihuano@gmail.com">王瑞环</a>
 * @since 1.0
 */
public interface WeiboUserInfoService {

    /**
     * 添加用户
     *
     * @param uid   用户id
     * @param cover 已经存在时是否覆盖
     */
    UserInfo addUser(Long uid, boolean cover) throws IOException;

    /**
     * 添加用户,存在跳过
     *
     * @param userInfo 用户信息
     * @param cover    已经存在时是否覆盖
     * @return 插入后的用户信息
     */
    UserInfo addUser(UserInfo userInfo, boolean cover);

    /**
     * 删除
     *
     * @param uid 用户id
     */
    long delUser(Long uid);

    /**
     * 通过 id 获取
     *
     * @param uid 用户id
     * @return 用户信息
     */
    UserInfo getUserInfo(Long uid);

    List<UserInfo> getInfoList(long page, int num);

    long userInfoCount();
}
